package com.example.mq.mqserver.core;

import lombok.Data;

import java.io.Serializable;

/**
 * 队列中的一些基本属性
 */
@Data
public class BasicProperties implements Serializable {

    //标识当前message的唯一身份标识，使用UUID来保证id的唯一性
    private String messageId;


//    是一个消息上的匹配内容，和bindingKey做匹配
//    如果交换机类型是DIRECT，此时routingKey表示要转发的队列名
//    如果交换机类型是FANOUT，此时routingKey无效，表示转发给每一个队列
//    如果交换机类型是TOPIC，此时必须与bindingKey相对应的队列才能够进行转发
    private String routingKey;


    //这个属性表示是否要持久化，1表示不持久化，2表示持久化（RabbitMQ就是这么搞的）
    private int deliveryMode = 2;

    //对于RabbitMQ来说，这里还有很多属性，这里暂时不考虑其他属性
}
